Auto-configuring a region of interest (ROI) associated with a camera

ABSTRACT

Disclosed herein are apparatuses and methods for auto-configuring a region of interest (ROI) associated with a camera. In one implementation, a method comprises receiving image frames from a camera installed in the environment, wherein the ROI is located within the view of the image frames. The method includes tracking a plurality of persons in the image frames and determining a respective trajectory of movement for each person of the plurality of persons. The method further includes comparing each of the respective trajectories to one another and identifying, based on the comparing, a common trajectory shared by more than one person of the plurality of persons, wherein the common trajectory is not fully encompassed in the ROI. The method additionally includes updating the ROI to encompass the common trajectory, and includes configuring the updated ROI to be associated with new image frames from the camera.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. Non-provisional patentapplication Ser. No. 17/067,035, entitled “AUTO-CONFIGURING A REGION OFINTEREST (ROI) ASSOCIATED WITH A CAMERA,” filed on Sep. 10, 2020, whichis incorporated by reference herein.

TECHNICAL FIELD

The described aspects relate to object tracking systems.

BACKGROUND

Aspects of the present disclosure relate generally to object trackingsystems, and more particularly, to auto-configuring a region of interest(ROI) associated with a camera used to track one or more persons.Cameras are often utilized for various use cases involving objecttracking. For example, a camera may be placed above a door for securitypurposes (e.g., to detect if an intruder has entered the premises) orsimply to count the number of people entering or exiting a location.However, in locations with a considerable amount of foot traffic, thedetection and counting may be thrown off by outliers. For example, aperson may walk nearby the door and be counted as someone entering—eventhough the person did not actually enter through the door.

Accordingly, there exists a need for improvements in object trackingsystems.

SUMMARY

The following presents a simplified summary of one or more aspects inorder to provide a basic understanding of such aspects. This summary isnot an extensive overview of all contemplated aspects, and is intendedto neither identify key or critical elements of all aspects nordelineate the scope of any or all aspects. Its sole purpose is topresent some concepts of one or more aspects in a simplified form as aprelude to the more detailed description that is presented later.

An example implementation includes a method for auto-configuring aregion of interest (ROI) associated with a camera, comprising receivinga plurality of image frames from a camera installed in the environment,wherein the plurality of image frames depicts a view of the environmentand wherein the ROI is located within the view. The method includestracking a plurality of persons in the plurality of image frames. Themethod includes determining a plurality of respective trajectoriesincluding a respective trajectory of movement for each person of theplurality of persons. The method further includes comparing each of theplurality of respective trajectories to one another. The method furtherincludes identifying, based on the comparing, a common trajectory sharedby more than one person of the plurality of persons, wherein the commontrajectory has a common start point and a common end point, and whereinat least one of the common start point and common end point are notcaptured in the ROI. The method additionally includes updating the ROIto define an updated ROI that is configured to encompass the commontrajectory, and configuring the updated ROI to be associated with newimage frames from the camera.

Another example implementation includes an apparatus forauto-configuring a region of interest (ROI) associated with a camera,comprising a memory and a processor in communication with the memory.The processor is configured to receive a plurality of image frames froma camera installed in the environment, wherein the plurality of imageframes depicts a view of the environment and wherein the ROI is locatedwithin the view. The processor is configured to track a plurality ofpersons in the plurality of image frames. The processor is configured todetermine a plurality of respective trajectories including a respectivetrajectory of movement for each person of the plurality of persons. Theprocessor is configured to compare each of the plurality of respectivetrajectories to one another. The processor is configured to identify,based on the comparing, a common trajectory shared by more than oneperson of the plurality of persons, wherein the common trajectory has acommon start point and a common end point, and wherein at least one ofthe common start point and common end point are not captured in the ROI.The processor is further configured to update the ROI to define anupdated ROI that is configured to encompass the common trajectory, andconfigure the updated ROI to be associated with new image frames fromthe camera.

Another example implementation includes an apparatus forauto-configuring a region of interest (ROI) associated with a camera,comprising means for receiving a plurality of image frames from a camerainstalled in the environment, wherein the plurality of image framesdepicts a view of the environment and wherein the ROI is located withinthe view. The apparatus further comprises means for tracking a pluralityof persons in the plurality of image frames. The apparatus furthercomprises means for determining a plurality of respective trajectoriesincluding a respective trajectory of movement for each person of theplurality of persons. The apparatus further comprises means forcomparing each of the plurality of respective trajectories to oneanother. The apparatus further comprises means for identifying, based onthe comparing, a common trajectory shared by more than one person of theplurality of persons, wherein the common trajectory has a common startpoint and a common end point, and wherein at least one of the commonstart point and common end point are not captured in the ROI. Theapparatus further comprises means for updating the ROI to define anupdated ROI that is configured to encompass the common trajectory, andmeans for configuring the updated ROI to be associated with new imageframes from the camera.

Another example implementation includes a computer-readable medium forauto-configuring a region of interest (ROI) associated with a camera,executable by a processor to receive a plurality of image frames from acamera installed in the environment, wherein the plurality of imageframes depicts a view of the environment and wherein the ROI is locatedwithin the view. The instructions are further executable to track aplurality of persons in the plurality of image frames. The instructionsare further executable to determine a plurality of respectivetrajectories including a respective trajectory of movement for eachperson of the plurality of persons. The instructions are furtherexecutable to compare each of the plurality of respective trajectoriesto one another. The instructions are further executable to identify,based on the comparing, a common trajectory shared by more than oneperson of the plurality of persons, wherein the common trajectory has acommon start point and a common end point, and wherein at least one ofthe common start point and common end point are not captured in the ROI.The instructions are further executable to update the ROI to define anupdated ROI that is configured to encompass the common trajectory, andconfigure the updated ROI to be associated with new image frames fromthe camera.

To the accomplishment of the foregoing and related ends, the one or moreaspects comprise the features hereinafter fully described andparticularly pointed out in the claims. The following description andthe annexed drawings set forth in detail certain illustrative featuresof the one or more aspects. These features are indicative, however, ofbut a few of the various ways in which the principles of various aspectsmay be employed, and this description is intended to include all suchaspects and their equivalents.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated into and constitute apart of this specification, illustrate one or more example aspects ofthe present disclosure and, together with the detailed description,serve to explain their principles and implementations.

FIG. 1 is a diagram of an environment that includes a camera, inaccordance with exemplary aspects of the present disclosure.

FIG. 2 is a diagram of a view of the camera in FIG. 1 with an initialROI, in accordance with exemplary aspects of the present disclosure.

FIG. 3 is a diagram of a view of the camera in FIG. 1 with an updatedROI, in accordance with exemplary aspects of the present disclosure.

FIG. 4 is a diagram of a view of the camera in FIG. 1 with an updatedROI that is a line, in accordance with exemplary aspects of the presentdisclosure.

FIG. 5 is a block diagram of a computing device executing an ROIconfiguring component, in accordance with exemplary aspects of thepresent disclosure.

FIG. 6 is a flowchart illustrating a method of auto-configuring a regionof interest (ROI) associated with a camera, in accordance with exemplaryaspects of the present disclosure.

FIG. 7 is a flowchart illustrating a method of updating the ROI, inaccordance with exemplary aspects of the present disclosure.

DETAILED DESCRIPTION

Various aspects are now described with reference to the drawings. In thefollowing description, for purposes of explanation, numerous specificdetails are set forth in order to provide a thorough understanding ofone or more aspects. It may be evident, however, that such aspect(s) maybe practiced without these specific details.

The present disclosure includes apparatuses and methods that configurethe ROI in a camera to improve performance in performing various tasks.For example, if the task of a camera is to count the number of people ina queue at a store, the apparatuses and methods automatically lock-in atan area of the video frame where the queue may be, based on thetrajectories of movement of people being captured by the camera.Locking-in, which involves configuring the ROI, thus allows for outliers(e.g., people near and outside of the queue) to be identified and notincluded in the count.

FIG. 1 is a diagram of environment 100 that includes camera 102, inaccordance with exemplary aspects of the present disclosure. Supposethat environment 100 is a grocery store and camera 102 is installed nearthe ceiling of environment 100. The visual stream captured by camera102, which may be a video or a series of periodic images marked bytimestamps, may be transmitted to computing device 500. Computing device500 may be a computer, a laptop, a smartphone, a server, or any devicecapable of receiving the visual stream from camera 102 and processing itusing a ROI configuring component 515 (discussed in FIGS. 5-8 ).Computing device 500 may be located in environment 100 or awayfrom/outside of environment 100, or integrated within camera 102.Furthermore, camera 102 may be connected to computing device 500wirelessly (e.g., via Bluetooth, Wi-Fi, etc.) or through a wiredconnection (e.g., USB).

Environment 100 may include door 112 and landmarks 110 (e.g., shelves,fridges, racks, etc.). One or more persons such as persons 104, 106, and108 may walk through environment 100. Persons 104, 106, and 108 may beemployees, customers, managers, security officers, etc. When walking,for example, persons 104 and 106 may enter a checkout line. Person 108may be walking away from the checkout line,

FIG. 2 is a diagram of view 200 of camera 102 in FIG. 1 with an initialROI 202, in accordance with exemplary aspects of the present disclosure.ROI 202 is depicted as a boundary of a rectangular shape and capturesperson 104, person 106, and person 108. Each person has their ownrespective movements. For example, person 104 is moving along trajectory204, person 106 is moving along trajectory 206, and person 108 is movingalong trajectory 208. If camera 102 is used to count the number ofpeople entering a checkout line based on being located within ROI 202,because ROI 202 is too large, it counts three people as entering theline. This count is incorrect, however, as person 108 is in fact walkingaway from the entrance of the line.

FIG. 3 is a diagram of view 300 of camera 102 in FIG. 1 with an updatedROI 304, in accordance with exemplary aspects of the present disclosure.To avoid the incorrect count of person 108, the present disclosuredescribes apparatuses and methods to update initial ROI 202 to be moreappropriate for accomplishing its task, e.g., in this case, counting thenumber of people entering a checkout line. In FIG. 3 , updated ROI 304is determined based on an average trajectory 302 of person 104 andperson 106. As will be described in FIG. 6 , the trajectories of person104 and person 106 are similar, whereas the trajectory of person 108 isnot. Grouping common trajectories enables the apparatuses and methods ofthe present disclosure to better identify which subset of the videoframe captured in view 300 is in fact important for serving the purposeof camera 102 (e.g., counting people in a checkout line).

FIG. 4 is a diagram of view 400 of camera 102 in FIG. 1 with updated ROI402 that is a line, in accordance with exemplary aspects of the presentdisclosure. In some aspects, the ROI of a camera bounds a subset ofpixels inside a frame and limits computations regarding the task ofcamera 102 (e.g., counting people) to within the subset of pixels. TheROI may be any shape (e.g., a circle, oval, rectangle, pentagon, etc.).In some aspects, the ROI is a three-dimensional shape (e.g., a cube, arectangular prism, sphere, etc.). For example, if the ROI is arectangular prism that encompasses the checkout line, the apparatusesand methods may evaluate whether a person has entered/passed through therectangular prism. In some aspects, the ROI is a line that an object maycross—signifying that the object has entered/exited an area of interest.For example, ROI 402 is a line at the entrance of the checkout line.When person 104 or person 106 pass through ROI 402, the person count isincremented. In contrast, the person count is not incremented for person108 because he/she does not cross ROI 402.

FIG. 5 is a block diagram of computing device 500 configured to executean ROI configuring component, in accordance with exemplary aspects ofthe present disclosure. FIG. 6 is a flowchart illustrating method 600 ofauto-configuring a region of interest (ROI) associated with a camera, inaccordance with exemplary aspects of the present disclosure. Referringto FIG. 5 and FIG. 6 , in operation, computing device 500 may performmethod 600 of auto-configuring a region of interest (ROI) associatedwith a camera via execution of ROI configuring component 515 byprocessor 505 and/or memory 510.

At block 602, the method 600 includes receiving a plurality of imageframes from a camera installed in the environment, wherein the pluralityof image frames depicts a view of the environment and wherein the ROI islocated within the view. For example, in an aspect, computer device 500,processor 505, memory 510, ROI configuring component 515, and/orreceiving component 520 may be configured to or may comprise means forreceiving a plurality of image frames from camera 102 installed inenvironment 100, wherein the plurality of image frames depicts view 200of environment 100 and wherein ROI 202 is located within view 200. Forexample, receiving component 520 may receive via a wireless or wiredconnection a video stream from camera 102 and identify each frame in thevideo stream based on a name and timestamp, and an ROI 200 may have aknown position and/or shape (e.g., based on a setting) within eachframe.

At block 604, the method 600 includes tracking a plurality of persons inthe plurality of image frames. For example, in an aspect, computerdevice 500, processor 505, memory 510, ROI configuring component 515,and/or tracking component 525 may be configured to or may comprise meansfor tracking persons 104, 106, and 108 in the plurality of image frames.Tracking component 525 may utilize computer vision techniques such asperson recognition to identify persons 104, 106, and 108 in the frame.In some aspects, tracking component 525 may label each frame with aperson identified within ROI 202. For example, the plurality of imageframes may comprise frames f1 to fN, where N is a positive integer.Tracking component 525 may label f1 with an identifier of person 104(e.g., insert in the metadata of the frame, the term “person 104,” tosignify that person 104 is present in the frame). In an example 100^(th)frame, f100, person 106 may enter ROI 202 and accordingly trackingcomponent 525 may include the identifiers of both person 104 and 106 inthe metadata of frame f100. In frame fN that depicts view 200, trackingcomponent 525 may include identifiers of persons 104, 106, and 108 inthe metadata of fN.

At block 606, the method 600 includes determining a plurality ofrespective trajectories including a respective trajectory of movementfor each person of the plurality of persons. For example, in an aspect,computer device 500, processor 505, memory 510, ROI configuringcomponent 515, and/or determining component 530 may be configured to ormay comprise means for determining trajectories 204, 206, and 208 forpersons 104, 106, and 108, respectively.

Each trajectory has a start point (e.g., as indicated by the beginningof the arrow) and an end point (e.g., the current position of the personor the anticipated position of the person). Determining component 535may set the start point to a position where a person began walking andmay set the end point to a position where he/she left the frame. In someaspects, determining component 530 may approximate the trajectory basedon a plurality points that the person 104 walked along in between thestart point and end point. Using linear regression, the line of best fit(which represents the trajectory of a person) may be determined. Forexample, based on each location of person 104 in the plurality of imageframes, determining component 530 approximates a line/vector indicativeof trajectory 204. In some aspects, the trajectory may be more complexthan a straight line, in which case polynomial regression may beutilized to determine the curve of best fit.

Modeling the path a person moves along later allows ROI configuringcomponent 515 to identify similar trajectories (whether straight orcurved) and set the ROI to focus on capturing those identifiedtrajectories. Using the types of regression listed above also allowsdetermining component 535 to anticipate where a person is going to be ata future time. For example, in view 200, persons 104, 106, and 108 havenot completely walked along their respective trajectories. However,based on their previous points of walking, determining component 535 maydetermine an anticipated end point and extend the trajectory.

In some aspects, trajectories 204, 206, and 208 may be lines atwo-dimensional graph. The origin point of the graph may be the bottomleft corner of view 200. Determining component 530 may treat each personas a point and monitor how the point travels across the plurality offrames that the point appears in. For example, a point on person 104 maybe on the foot or head of person 104. Each trajectory can be associatedwith a pixel in a first frame that the trajectory starts from and apixel in a subsequent frame that the trajectory ends at. Based on thelocations of the pixels (as dictated by the movement of the pointrepresenting person 104), determining component 530 may identify arespective slope of the trajectory. For example, the slope of trajectory204 may be 2, the slope of trajectory 206 may be 2.5, and the slope oftrajectory 208 may be −0.75.

In some aspects, when the ROI is three-dimensional, determiningcomponent 530 may create a three-dimensional x-y-z representation ofenvironment 100 relative to the walls and floor captured in view 200.For example, the wall near person 108 includes door 112. The height-wiseline of the door may be characterized as parallel to the z-axis. Thewidth-wise line of the door may be characterized as parallel to thex-axis. The y-axis may be determined as the axis perpendicular to boththe x-axis and the z-axis. Trajectory 204 and 206 can therefore berepresented as vectors. The vector of trajectory 208, for example, maybe parallel to the x-axis, while trajectories 204 and 206 may have alarger components along the y-axis.

At block 608, the method 600 includes comparing each of the plurality ofrespective trajectories to one another. For example, in an aspect,computer device 500, processor 505, memory 510, ROI configuringcomponent 515, and/or comparing component 535 may be configured to ormay comprise means for comparing trajectories 204, 206, and 208 to oneanother.

Continuing the example given previously, comparing component 535 mayselect a subset of the determined respective trajectories that haveneighboring start points within a first threshold distance, neighboringend points within a second threshold distance, and neighboring slopeswithin a threshold difference. Comparing component 535 may thencalculate an average trajectory of the subset, wherein the averagetrajectory is the common trajectory, wherein the common start point isan average of the neighboring start points, and the common end point isan average of the neighboring end points.

For example, comparing component 535 may group all trajectories withslopes that are within the threshold slope difference. Suppose that theslope of trajectory 204 is 2, the slope of trajectory 206 is 2.5, andthe slope of trajectory 208 is −0.75. The threshold slope difference maybe 1. Accordingly, trajectories 204 and 206 may be in one group andtrajectory 208 may be in a different group. Comparing component 535 maythen select the group with the most trajectories and determine a subsetof common trajectories that are in the same general vicinity. Forexample, although the slopes are similar of trajectories 204 and 206,their locations may be far apart, implying that persons did not walkaround the same area in view 200. Accordingly, comparing component 535may then determine whether the start points and end points oftrajectories 204 and 206 are each within a threshold distance from oneanother. For example, the pixel where the start point of trajectory 204is located may have the location (x1, y1) in the two-dimensional graphdiscussed above and the pixel where the start point of trajectory 206 islocated may have the location (x2, y2). Comparing component 535 maycalculate, via the two-dimensional distance formula, a distance D1between the points and determine whether D1 is less than a thresholddistance Dt. Likewise, comparing component 535 may determine whether theend points of trajectories 204 and 206 are within a threshold distance(may be same as Dt). In response to determining that both the startpoints and the end points are within the threshold distances, comparingcomponent 535 may enter both trajectories in the subset of commontrajectories. All other trajectories that are not in the subset may beidentified as a plurality of uncommon trajectories by comparingcomponent 535. Comparing component 535 may further identify theseuncommon trajectories as ones to not include in the updated ROI.

At block 610, the method 600 includes identifying, based on thecomparing, a common trajectory shared by more than one person of theplurality of persons, wherein the common trajectory has a common startpoint and a common end point, and wherein at least one of the commonstart point and common end point are not captured in the ROI. Forexample, in an aspect, computer device 500, processor 505, memory 510,ROI configuring component 515, and/or identifying component 540 may beconfigured to or may comprise means for identifying, based on thecomparing, trajectory 302 shared by persons 104 and 108, wherein thecommon trajectory has a common start point and a common end point, andwherein at least one of the common start point and common end point arenot captured in ROI 202.

In some aspects, it is possible for the plurality of persons to walkalong the same trajectory. For example, the checkout area may be boundedin environment 100 by railings that guide customers along a single-fileline. Because of this, every person may have the same start point andend point. This is referred to as a common start point and commonendpoint. Because everyone walks along the same path, they all share acommon trajectory.

In some aspects, however, the trajectory of each person may be slightlydifferent (as shown in FIG. 2 ). Because of the differences, identifyingcomponent 540 may determine an average trajectory of all thetrajectories in the subset of common trajectories. In order to determinethe average trajectory, identifying component 540 may determine anaverage start point and an average end point (which become the commonstart point and common end point). In order to determine the averagestart point and end point, identifying component 540 may determine themidpoint between the start points of trajectories 204 and 206 along withthe midpoint between the end points of trajectories 204 and 206.Identifying component 540 may then extend a line from the determinedmidpoints to generate trajectory 302. In some aspects, identifyingcomponent 540 may determine a plurality of midpoints between all of thepoints along trajectories 204 and 206 (not just the start and end), todetermine the average trajectory (i.e., trajectory 302).

At block 612, the method 600 includes updating the ROI to define anupdated ROI that is configured to encompass the common trajectory. Forexample, in an aspect, computer device 500, processor 505, memory 510,ROI configuring component 515, and/or updating component 545 may beconfigured to or may comprise means for updating ROI 202 to defineupdated ROI 304 that is configured to encompass trajectory 302.

In FIG. 2 , the initial ROI 202 was quite large and thus incorporatedall movements in view 200. The true focus of camera 102, however, shouldbe the checkout line because there are several persons walking along thesame path. In some aspects, an indication that trajectory 302 should bethe focus (rather than trajectory 208) is that along trajectory 302,multiple persons in close proximity and the same speed may be moving.

Updating component 545 identifies the length of trajectory 302, and maygenerate ROI 304 which encompasses trajectory 302. For example, thestart point and end point of trajectory 302 may be on the boundary lineof ROI 304. In some aspects, the height of ROI 304 may be set based onthe highest point on the body of a person walking in ROI 304. Forexample, the height of ROI 304 may be as high as the tip of the head ofperson 106. This height enables persons to be identified within ROI 304because presumably their head and body will be captured in ROI 304. Itshould be noted that when updating the ROI, updating component 545determines an updated ROI that does not encompass the plurality ofuncommon trajectories. The specific way to update the ROI to encompassthe common trajectory and the plurality of uncommon trajectories isdiscussed in FIG. 7 .

At block 614, the method 600 includes configuring the updated ROI to beassociated with new image frames from the camera. For example, in anaspect, computer device 500, processor 505, memory 510, ROI configuringcomponent 515, and/or configuring component 550 may be configured to ormay comprise means for configuring updated ROI 304 to be associated withnew image frames from camera 102.

For example, configuring component 550 may associate subsequent framesfrom camera 102 with updated ROI 304. This means that if a new frame isreceived from camera 102, ROI configuring component 515 may set the ROIas updated ROI 304 and when counting persons entering the checkout line,only the persons entering/exiting ROI 304 will be counted. This resultsin a more accurate count because updated ROI 304 will not count persons,such as person 108, who are walking along a much different trajectorythan trajectory 302.

FIG. 7 is a flowchart illustrating method 700 of updating the ROI, inaccordance with exemplary aspects of the present disclosure. FIG. 7 hasfour optional steps that are executed by in block 612. Although it isshown that only one of the four blocks are selected, depending on theheight of the persons walking in a particular area, the length/positionof the common trajectory, and the positions/lengths of the uncommontrajectories, any combination of the blocks may be performed. Forexample, block 702 may be executed, followed by any combination of 704,706, and 708.

At block 702, the method 700 includes shifting the ROI from a firstposition to a second position that enables the updated ROI to encompassthe common trajectory. For example, in an aspect, computer device 500,processor 505, memory 510, ROI configuring component 515, and/orshifting component 551 may be configured to or may comprise means forshifting ROI 202 from a first position to a second position that enablesupdated ROI 304 to encompass the common trajectory.

In this case, the dimensions (i.e., height and width) of initial ROI 202may remain the same. ROI 202 may instead only be translated such thatits center point changes from the first position to the second position.

At block 704, the method 700 includes scaling the ROI from a first sizeto a second size that enables the updated ROI to encompass the commontrajectory. For example, in an aspect, computer device 500, processor505, memory 510, ROI configuring component 515, and/or scaling component552 may be configured to or may comprise means for scaling ROI 202 froma first size to a second size that enables updated ROI 304 to encompassthe common trajectory.

In this case, the position of the center point of initial ROI 202remains the same. However, the height and width of initial ROI 202 arechanged to encompass trajectory 302.

At block 706, the method 700 includes reshaping the ROI from the firstshape to a second shape that enables the updated ROI to encompass thecommon trajectory. For example, in an aspect, computer device 500,processor 505, memory 510, ROI configuring component 515, and/orreshaping component 553 may be configured to or may comprise means forreshaping ROI 202 from the first shape to a second shape that enablesupdated ROI 304 to encompass the common trajectory.

In this case, the shape of initial ROI 202 may be changed from arectangle to a shape that can incorporate trajectory 302 (e.g., asquare, oval, etc.).

At block 708, the method 700 includes shifting the ROI to the commonstart point and rotating the ROI to be perpendicular to the commontrajectory. For example, in an aspect, computer device 500, processor505, memory 510, ROI configuring component 515, and/or rotatingcomponent 554 may be configured to or may comprise means for shiftingROI 202 to the common start point and rotating ROI 202 to beperpendicular to the common trajectory.

In this case, the initial ROI may be a line that crosses the horizontalaxis of view 200 along its midpoint. The updated ROI may be shifted androtated (in any order) such that updated ROI 402 is perpendicular to thecommon trajectory (e.g., trajectory 302) and intersects with the commonstart point of trajectory 302. In some aspects, the length of the linemay also be adjusted based on the length of the farthest start points inthe subset of common trajectories. For example, if the farthest startpoints are (x1, y1) and (x2, y2), the length of ROI 402 is set to thedistance between (x1, y1) and (x2, y2).

While the foregoing disclosure discusses illustrative aspects and/orembodiments, it should be noted that various changes and modificationscould be made herein without departing from the scope of the describedaspects and/or embodiments as defined by the appended claims.Furthermore, although elements of the described aspects and/orembodiments may be described or claimed in the singular, the plural iscontemplated unless limitation to the singular is explicitly stated.Additionally, all or a portion of any aspect and/or embodiment may beutilized with all or a portion of any other aspect and/or embodiment,unless stated otherwise.

What is claimed is:
 1. A method for auto-configuring a region ofinterest (ROI) associated with a camera, comprising: receiving aplurality of image frames from a camera installed in an environment,wherein the plurality of image frames depicts a view of the environmentand wherein the ROI is located within the view; tracking a plurality ofobjects in the plurality of image frames; determining a plurality ofrespective trajectories including a respective trajectory of movementfor each object of the plurality of objects; identifying a commontrajectory shared by more than one object of the plurality of objectsbased on comparing each of the plurality of respective trajectories toone another, wherein the common trajectory has a common start point anda common end point, and wherein at least one of the common start pointand common end point are outside of the ROI; updating the ROI to definean updated ROI that is configured to encompass the common trajectory;and configuring the updated ROI to be associated with new image framesfrom the camera.
 2. The method of claim 1, further comprising:identifying a plurality of uncommon trajectories based on comparing eachof the plurality of respective trajectories to one another; and whereinupdating the ROI includes configuring the updated ROI to avoidencompassing the plurality of uncommon trajectories.
 3. The method ofclaim 1, wherein updating the ROI comprises shifting the ROI from afirst position to a second position that enables the updated ROI toencompass the common trajectory.
 4. The method of claim 1, whereinupdating the ROI comprises scaling the ROI from a first size to a secondsize that enables the updated ROI to encompass the common trajectory. 5.The method of claim 1, wherein the ROI is of a first shape, and whereinupdating the ROI comprises reshaping the ROI from the first shape to asecond shape that enables the updated ROI to encompass the commontrajectory.
 6. The method of claim 1, wherein the ROI is a line, andwherein updating the ROI comprises shifting the ROI to the common startpoint and rotating the ROI to be perpendicular to the common trajectory.7. The method of claim 1, wherein identifying the common trajectorycomprises: selecting a subset of the determined respective trajectoriesthat have neighboring start points within a first threshold distance,neighboring end points within a second threshold distance, andneighboring slopes including the neighboring start points and theneighboring end points; and calculating an average trajectory of thesubset, wherein the average trajectory is the common trajectory.
 8. Themethod of claim 7, wherein the average trajectory comprises the commonstart point and the common end point, and wherein the common start pointis an average of the neighboring start points and the common end pointis an average of the neighboring end points.
 9. The method of claim 1,wherein the common start point and the common end point are each on arespective boundary of the updated ROI.
 10. An apparatus forauto-configuring a region of interest (ROI) associated with a camera,comprising: a memory; and a processor coupled with the memory andconfigured to: receive a plurality of image frames from a camerainstalled in an environment, wherein the plurality of image framesdepicts a view of the environment and wherein the ROI is located withinthe view; track a plurality of objects in the plurality of image frames;determine a plurality of respective trajectories including a respectivetrajectory of movement for each object of the plurality of objects;identify a common trajectory shared by more than one object of theplurality of objects based on comparing each of the plurality ofrespective trajectories to one another, wherein the common trajectoryhas a common start point and a common end point, and wherein at leastone of the common start point and common end point are not captured inthe ROI; update the ROI to define an updated ROI that is configured toencompass the common trajectory; and configure the updated ROI to beassociated with new image frames from the camera.
 11. The apparatus ofclaim 10, wherein the processor is further configured to: identify aplurality of uncommon trajectories based on comparing each of theplurality of respective trajectories to one another; and wherein toupdate the ROI includes configuring the updated ROI to avoidencompassing the plurality of uncommon trajectories.
 12. The apparatusof claim 10, wherein to update the ROI comprises shifting the ROI from afirst position to a second position that enables the updated ROI toencompass the common trajectory.
 13. The apparatus of claim 10, whereinto update the ROI comprises scaling the ROI from a first size to asecond size that enables the updated ROI to encompass the commontrajectory.
 14. The apparatus of claim 10, wherein the ROI is of a firstshape, and wherein to update the ROI comprises reshaping the ROI fromthe first shape to a second shape that enables the updated ROI toencompass the common trajectory.
 15. The apparatus of claim 10, whereinthe ROI is a line, and wherein to update the ROI comprises shifting theROI to the common start point and rotating the ROI to be perpendicularto the common trajectory.
 16. The apparatus of claim 10, wherein toidentify the common trajectory comprises to: select a subset of thedetermined respective trajectories that have neighboring start pointswithin a first threshold distance, neighboring end points within asecond threshold distance, and neighboring slopes including theneighboring start points and the neighboring end points; and calculatean average trajectory of the subset, wherein the average trajectory isthe common trajectory.
 17. The apparatus of claim 16, wherein theaverage trajectory comprises the common start point and the common endpoint, and wherein the common start point is an average of theneighboring start points and the common end point is an average of theneighboring end points.
 18. The apparatus of claim 10, wherein thecommon start point and the common end point are each on a respectiveboundary of the updated ROI.
 19. A non-transitory computer-readablemedium for auto-configuring a region of interest (ROI) associated with acamera, including instructions executable by a processor to: receive aplurality of image frames from a camera installed in an environment,wherein the plurality of image frames depicts a view of the environmentand wherein the ROI is located within the view; track a plurality ofobjects in the plurality of image frames; determine a plurality ofrespective trajectories including a respective trajectory of movementfor each object of the plurality of objects; compare each of theplurality of respective trajectories to one another; identify, based onthe comparing, a common trajectory shared by more than one object of theplurality of objects, wherein the common trajectory has a common startpoint and a common end point, and wherein at least one of the commonstart point and common end point are not captured in the ROI; update theROI to define an updated ROI that is configured to encompass the commontrajectory; and configure the updated ROI to be associated with newimage frames from the camera.
 20. The non-transitory computer-readablemedium of claim 19, wherein the instructions are further executable bythe processor to: identify a plurality of uncommon trajectories based oncomparing each of the plurality of respective trajectories to oneanother; wherein to update the ROI includes configuring the updated ROIto avoid encompassing the plurality of uncommon trajectories; andwherein the common start point and the common end point are each on arespective boundary of the updated ROI.